home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-13
/
thesrc10.zip
/
DIRECTRY.H
< prev
next >
Wrap
C/C++ Source or Header
|
1992-08-11
|
4KB
|
154 lines
#if defined(DOS) && defined(TC)
#define F_RO FA_RDONLY
#define F_HI FA_HIDDEN
#define F_SY FA_SYSTEM
#define F_DI FA_DIREC
#define F_AR FA_ARCH
#define FSTR_TYPE struct ffblk
#define ATTR_TYPE char
#define DATE_TYPE int
#define TIME_TYPE int
#define SIZE_TYPE long
#define D_TYPE DATE_TYPE
#define T_TYPE TIME_TYPE
#define DONE_TYPE int
#define ATTR_NAME ff_attrib
#define DATE_NAME ff_fdate
#define TIME_NAME ff_ftime
#define SIZE_NAME ff_fsize
#define NAME_NAME ff_name
#define D_NAME dp->fdate
#define T_NAME dp->ftime
#define HOUR_MASK ((time & 0xf800) >> 11)
#define MINU_MASK ((time & 0x07e0) >> 5)
#define DAYS_MASK (date & 0x001f)
#define MONT_MASK (mon[((date & 0x01e0) >> 5)-1])
#define YEAR_MASK (((date & 0xfe00) >> 9)+80)
#endif
#if defined(DOS) && defined(MSC)
#include <dos.h>
#define F_RO _A_RDONLY
#define F_HI _A_HIDDEN
#define F_SY _A_SYSTEM
#define F_DI _A_SUBDIR
#define F_AR _A_ARCH
#define FSTR_TYPE struct find_t
#define ATTR_TYPE char
#define DATE_TYPE unsigned int
#define TIME_TYPE unsigned int
#define SIZE_TYPE long
#define D_TYPE DATE_TYPE
#define T_TYPE TIME_TYPE
#define DONE_TYPE int
#define ATTR_NAME attrib
#define DATE_NAME wr_date
#define TIME_NAME wr_time
#define SIZE_NAME size
#define NAME_NAME name
#define D_NAME dp->fdate
#define T_NAME dp->ftime
#define HOUR_MASK ((time & 0xf800) >> 11)
#define MINU_MASK ((time & 0x07e0) >> 5)
#define DAYS_MASK (date & 0x001f)
#define MONT_MASK (mon[((date & 0x01e0) >> 5)-1])
#define YEAR_MASK (((date & 0xfe00) >> 9)+80)
#endif
#ifdef OS2
/*typedef FDATE FAR *PFDATE;*/
/*typedef FDATE *PFDATE;*/
#define F_RO FILE_READONLY
#define F_HI FILE_HIDDEN
#define F_SY FILE_SYSTEM
#define F_DI FILE_DIRECTORY
#define F_AR FILE_ARCHIVED
#define FSTR_TYPE FILEFINDBUF
#define ATTR_TYPE USHORT
#define DATE_TYPE FDATE
#define TIME_TYPE FTIME
#define SIZE_TYPE ULONG
#define D_TYPE DATE_TYPE
#define T_TYPE TIME_TYPE
#define DONE_TYPE USHORT
#define ATTR_NAME attrFile
#define DATE_NAME fdateLastWrite
#define TIME_NAME ftimeLastWrite
#define SIZE_NAME cbFile
#define NAME_NAME achName
#define D_NAME dp->fdate
#define T_NAME dp->ftime
#define HOUR_MASK (time.hours)
#define MINU_MASK (time.minutes)
#define DAYS_MASK (date.day)
#define MONT_MASK (mon[date.month-1])
#define YEAR_MASK (date.year+80)
#endif
#ifdef UNIX
#include <dirent.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <time.h>
#define ATTR_TYPE mode_t
#define SIZE_TYPE long
#define TIME_TYPE time_t
#define DATE_TYPE char
#define D_TYPE struct tm *
#define T_TYPE struct tm *
#define DONE_TYPE int
#define D_NAME timp
#define T_NAME timp
#define HOUR_MASK (time->tm_hour)
#define MINU_MASK (time->tm_min)
#define DAYS_MASK (date->tm_mday)
#define MONT_MASK (mon[date->tm_mon])
#define YEAR_MASK (date->tm_year)
#endif
struct dirfile {
char *fname; /* file name */
ATTR_TYPE fattr; /* file attributes */
SIZE_TYPE fsize; /* size of file */
TIME_TYPE ftime; /* time (last write) */
DATE_TYPE fdate; /* date (if seperate to time) */
};
#ifdef PROTO
int fcomp();
char *make_full(char *,char *);
int getfiles(char *,char *,struct dirfile **,struct dirfile **);
char *file_attrs(ATTR_TYPE,char *);
char *file_date(D_TYPE,char *);
char *file_time(T_TYPE,char *);
#else
int fcomp();
char *make_full();
int getfiles();
char *file_attrs();
char *file_date();
char *file_time();
#endif